// 引入request请求函数
import { request } from '../../request/request'
import { showToast } from '../../utils/wxAsync'

Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 地址信息
    addressInfo: {},
    // 订单信息
    orderInfo: {},
    // 订单商品
    orderGoods: [],
    // 热门商品
    hotGoods: {}
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    // 页面栈获取传递参数订单id
    let currentPages =  getCurrentPages()
    let currentPage = currentPages[currentPages.length - 1]
    let { id } = currentPage.options
    let checkedAddress = wx.getStorageSync('checkedAddress') || {}
    if (checkedAddress.id) {
      // 若本地缓存中有选中地址信息
      this.setData({
        addressInfo: checkedAddress
      })
    } else {
      // 若本地缓存中没有有选中地址信息，则获取默认地址
      this.getAddressInfo()
    }
    this.getOrderDetail(id - 0)
    this.getHotGoods()
  },
  // 发送请求，获取地址信息
  async getAddressInfo() {
    const res = await request({url: '/address/list'})
    console.log(res)
    let addressList = res.data
    // 从地址列表中过滤出，默认地址
    let defaultAddress = addressList.filter(item => item.is_default === 1)
    this.setData({
      addressInfo: defaultAddress[0]
    })
  },
  // 发送请求，获取订单信息
  async getOrderDetail(orderId) {
    const res = await request({url: '/order/detail', data: { orderId }})
    console.log(res)
    let { orderInfo, orderGoods } = res.data
    this.setData({
      orderInfo,
      orderGoods
    })
  },
  // 发送请求，获取热门商品
  async getHotGoods(orderId) {
    const res = await request({url: '/goods/hot'})
    console.log(res)
    this.setData({
      hotGoods: res.data.bannerInfo
    })
  },
  // 取消订单
  async handleCancelOrder() {
    await showToast({title: '暂未开放此功能', icon: 'none'})
  },
  async handlePay() {
    await showToast({title: '暂未开放此功能', icon: 'none'})
  }
})